#ifndef OBJECT_H
#define OBJECT_H
#include <QDebug>
#include <QSharedPointer>
class IVisitor;

class Object;
typedef QSharedPointer<Object> ObjectPtr;
class Object {
public:
    Object();
    virtual ~Object();
    virtual ObjectPtr accept(IVisitor* /*visitor*/, const ObjectPtr& node);
    virtual void traverse(IVisitor* /*visitor*/);
    virtual QString type();
    virtual QString toString() const;
};


#endif // OBJECT_H
